home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ADA Programming Guide
/
ADA Programming Guide.iso
/
ada_gwu
/
vars.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-01-30
|
6KB
|
218 lines
#define INIT(v)
#ifndef _vars_h
#define _vars_h
extern double ADA_MIN_REAL INIT((-79228162514264337593543950336.0));/* - 2.0**96 */
extern double ADA_MAX_REAL INIT(79228162514264337593543950336.0);/* 2.0**96 */
extern int ADA_REAL_DIGITS INIT(6);
extern int cdebug2;
extern Declaredmap declared_all[4]; /* array of standard declareds */
extern int full_others; /* a boolean */
extern int fold_context; /* a boolean */
extern Node current_node;
extern Node OPT_NODE; /*initialized in sem0 */
extern Declaredmap base_declared[4];
extern Symbol base_declared_symbols[4];
extern Tuple scope_st; /* stack of lexical scopes */
extern Tuple has_return_stk; /* stack to track return statements */
extern Tuple newtypes; /* list of type declaration code to be */
extern Tuple lab_seen; /* set of labels in procedure . */
extern Tuple current_instances; /* stack for recursive instantiation check */
extern Symbol scope_name; /* unique name for each scope */
extern char *unit_name; /* compilation unit information */
extern Tuple all_vis; /* Modules whose visibility is required */
extern Tuple open_scopes; /* nest of currently open scopes, from inner */
extern Tuple used_mods; /* packages appearing in a use clause */
extern Tuple vis_mods; /* list of package names visible in this unit*/
extern int noop_error;
extern Set non_local_names; /* To collect non_local references in each subp. */
extern int out_context; /* Signals valid appearance of out parameter. */
extern Symbol
symbol_and,
symbol_andthen,
symbol_any,
symbol_any_id,
symbol_array_type,
symbol_ascii,
symbol_assign,
symbol_boolean,
symbol_boolean_type,
symbol_callable,
symbol_character,
symbol_character_type,
symbol_constrained,
symbol_constraint_error,
symbol_daccess,
symbol_dfixed,
symbol_discrete_type,
symbol_divfx,
symbol_duration,
symbol_eq,
symbol_exception,
symbol_float,
symbol_ge,
symbol_gt,
symbol_in,
symbol_incomplete, /* incomplete, for incp_types */
symbol_integer,
symbol_le,
symbol_left,
symbol_limited, /* limited for priv_types, incp_types */
symbol_limited_private, /* cf. symbol_limited */
symbol_long_float,
symbol_long_integer,
symbol_lt,
symbol_main_task_type,
symbol_mulfx,
symbol_natural,
symbol_none,
symbol_not,
symbol_ne,
symbol_notin,
symbol_null,
symbol_numeric,
symbol_numeric_error,
symbol_or,
symbol_order_type,
symbol_orelse,
symbol_overloaded,
symbol_positive,
symbol_private, /* for priv_types, incp_types */
symbol_program_error,
symbol_right,
symbol_short_integer,
symbol_short_integer_base,
symbol_standard,
symbol_standard0,
symbol_storage_error,
symbol_system_error,
symbol_string,
symbol_string_type,
symbol_system,
symbol_tasking_error,
symbol_undef,
symbol_universal_dfixed,
symbol_universal_fixed,
symbol_universal_integer,
symbol_universal_integer_1,
symbol_universal_real,
symbol_unmentionable,
symbol_xor;
extern Symbol
symbol_universal_type,
symbol_integer_type,
symbol_real_type,
symbol_composite_type,
symbol_equal_type;
extern Symbol
symbol_addu, /* +u */
symbol_subu, /* -u */
symbol_abs, /* abs */
symbol_add, /* + */
symbol_sub, /* - */
symbol_mul, /* * */
symbol_div, /* / */
symbol_mod, /* mod */
symbol_rem, /* rem */
symbol_exp, /* ** */
symbol_cat, /* & */
symbol_cat_cc, /* &cc */
symbol_cat_ac, /* &ac */
symbol_cat_ca, /* &ca */
symbol_modi, /* modi */
symbol_remi, /* remi */
symbol_addui, /* +ui */
symbol_subui, /* -ui */
symbol_absi, /* absi */
symbol_addi, /* +i */
symbol_subi, /* -i */
symbol_muli, /* *i */
symbol_divi, /* /i */
symbol_addufl, /* +ufl */
symbol_subufl, /* -ufl */
symbol_absfl, /* absfl */
symbol_addfl, /* +fl */
symbol_subfl, /* -fl */
symbol_mulfl, /* *fl */
symbol_divfl, /* /fl */
symbol_addufx, /* +ufx */
symbol_subufx, /* -ufx */
symbol_absfx, /* absfx */
symbol_addfx, /* +fx */
symbol_subfx, /* -fx */
symbol_mulfxi, /* *fxi */
symbol_mulifx, /* *ifx */
symbol_divfxi, /* /fxi */
symbol_mulfli, /* *fli */
symbol_mulifl, /* *ifl */
symbol_divfli, /* /fli */
symbol_expi, /* **i */
symbol_expfl; /* **fl */
extern Tuple unary_sig;
extern Tuple binary_sig; /* TBSL: to be initialized in sem0*/
extern int num_predef_units; /* number of units in predef.ada */
extern int errors INIT(FALSE); /* flag if errors are present*/
extern int adaval_overflow;
extern char *FILENAME;
extern FILE *MSGFILE INIT(stdout);
extern Tuple init_nodes;
extern Tuple init_symbols; /* tuple of symbols created by sem initialization*/
extern Tuple unit_nodes;
#ifdef TBSL
extern int unit_nodes_n INIT(0);
#endif
extern char *PREDEFNAME; /* name of predef file */
extern char *AISFILENAME;
extern int lib_option INIT(FALSE);
extern int new_library INIT(FALSE); /* set if creating library */
extern struct unit *pUnits[MAX_UNITS+1];
extern Tuple lib_stub;
extern Tuple stub_info;
extern int seq_node_n INIT(0); /* number of nodes allocated */
extern Tuple seq_node; /* tuple of allocated nodes*/
extern int seq_symbol_n INIT(0);/* number of symbols allocated*/
extern Tuple seq_symbol; /* tuple of allocated symbols */
extern int unit_number_now INIT(0);
extern int unit_numbers INIT(0);
extern int empty_unit_slots INIT(0);
extern int trapns INIT(0),trapnu INIT(0),trapss INIT(0),trapsu INIT(0);
extern Tuple aisunits_read;
extern Nodemap node_map;
extern Symbol OPT_NAME; /* This is to symbols what OPT_NODE is to nodes*/
extern int compiling_predef INIT(0); /* set if we are compiling predef */
extern char *string_any_id INIT("any_id");
extern char *string_ok INIT("ok");
extern char *string_ds INIT("$D$");
extern int power_of_2_accuracy;
extern int power_of_2_power;
extern Rational power_of_2_small;
extern Set stubs_to_write;
extern Tuple NOT_CHOSEN;
#endif